﻿using HslCommunication.Reflection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CentralVacuum.Communication
{
    public class DataExample
    {
        /// <summary>
        /// D1000~D1999
        /// </summary>
        [HslDeviceAddress("D1000", 1000)]
        public byte[] readD1000 { get; set; }

        /// <summary>
        /// D2000~D2999
        /// </summary>
        [HslDeviceAddress("D2000", 1000)]
        public byte[] readD2000 { get; set; }

        /// <summary>
        /// D3000~D3999
        /// </summary>
        [HslDeviceAddress("D3000", 1000)]
        public byte[] readD3000 { get; set; }

        /// <summary>
        /// M0~M99
        /// </summary>
        [HslDeviceAddress("M0", 100)]
        public bool[] readM0 { get; set; }
        /// <summary>
        /// M100~M199
        /// </summary>
        [HslDeviceAddress("M100", 100)]
        public bool[] readM100 { get; set; }
        /// <summary>
        /// M1000~M1099
        /// </summary>
        [HslDeviceAddress("M1000", 100)]
        public bool[] readM1000 { get; set; }
        /// <summary>
        /// M2000~M2099
        /// </summary>
        [HslDeviceAddress("M2000", 100)]
        public bool[] readM2000 { get; set; }
        /// <summary>
        /// M5000~M5099
        /// </summary>
        [HslDeviceAddress("M5000", 100)]
        public bool[] readM5000 { get; set; }
        /// <summary>
        /// X0~X77
        /// </summary>
        [HslDeviceAddress("X0", 64)]
        public bool[] readX { get; set; }
        /// <summary>
        /// Y0~Y77
        /// </summary>
        [HslDeviceAddress("Y0", 64)]
        public bool[] readY { get; set; }
        /// <summary>
        /// S100~S199
        /// </summary>
        [HslDeviceAddress("S0", 100)]
        public bool[] readS0 { get; set; }
        /// <summary>
        /// S1000~S1099
        /// </summary>
        [HslDeviceAddress("S1000", 100)]
        public bool[] readS1000 { get; set; }
        /// <summary>
        /// S1200~S1299
        /// </summary>
        [HslDeviceAddress("S1200", 100)]
        public bool[] readS1200 { get; set; }
        /// <summary>
        /// S2000~S2099
        /// </summary>
        [HslDeviceAddress("S2000", 100)]
        public bool[] readS2000 { get; set; }
    }
}
